/**
 * 1576. 替换所有的问号
 * https://leetcode.cn/problems/replace-all-s-to-avoid-consecutive-repeating-characters/description/
 */
//模拟，从前往后，遇到 ？ 就判断前面和后面是不是一样的（a~z），有不一样的就填入，特殊的第一位和最后一位，第一位不用判断前一位，最后一位不用判断后一位
class Solution {
    public String modifyString(String ss) {
        char[] s = ss.toCharArray();
        int n = s.length;
        
        for(int i = 0; i < n; i++) {
            if(s[i] == '?') {
                for(char tmp = 'a'; tmp < 'z'; tmp++) {
                    if((i == 0 || s[i - 1] != tmp) && (i == n - 1 || s[i + 1] != tmp)) {
                        s[i] = tmp;
                        break;
                    }
                }
            }
        }
        // String ret = new String(s);
        // return ret;
        //或者这种返回
        return String.valueOf(s);
    }
}